package com.zhuoyue.system.mapper;

import com.zhuoyue.common.annotation.DataScope;
import com.zhuoyue.common.core.domain.entity.SysThirdData;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * @author zhanghui
 */
public interface SysThirdDataMapper {
    /**
     * 查询【请填写功能名称】
     *
     * @param id 【请填写功能名称】ID
     * @return 【请填写功能名称】
     */
    SysThirdData selectSysThirdDataById(String id);

    /**
     * 查看第三方数据列表
     *
     * @param sysThirdData sysThirdData
     * @return 集合
     */
    @DataScope(deptAlias = "s_d")
    List<SysThirdData> selectSysThirdDataList(SysThirdData sysThirdData);

    /**
     * 添加第三方数据
     *
     * @param sysThirdData sysThirdData
     * @return 结果
     */
    int insertSysThirdData(SysThirdData sysThirdData);

    /**
     * 修改第三方数据
     *
     * @param sysThirdData sysThirdData
     * @return 结果
     */
    int updateSysThirdData(SysThirdData sysThirdData);

    /**
     * 删除【请填写功能名称】
     *
     * @param id 【请填写功能名称】ID
     * @return 结果
     */
    int deleteSysThirdDataById(String id);

    /**
     * 批量删除【请填写功能名称】
     *
     * @param ids 需要删除的数据ID
     * @return 结果
     */
    int deleteSysThirdDataByIds(String[] ids);

    /**
     * 查询某组织的极光推送数据
     *
     * @param dictCode
     * @param deptId
     * @return
     */
    SysThirdData getJPushDataByDeptId(@Param("dictCode") Long dictCode, @Param("deptId") Long deptId);

    List<SysThirdData> getJPushDataList(@Param("dictCode") Long dictCode);

    /**
     * 查询某组织的云片短信数据
     *
     * @param dictCode
     * @param deptId
     * @return
     */
    SysThirdData getYunPianDataByDeptId(@Param("dictCode") Long dictCode, @Param("deptId") Long deptId);

    /**
     * 查询某组织的第三方数据
     *
     * @param dictCode 字典数据ID, 标识为极光推送或云片短信等
     * @param deptId
     * @return
     */
    SysThirdData getThirdDataByDeptId(@Param("dictCode") Long dictCode, @Param("deptId") Long deptId);
}
